Computer system for mutual communication through network and its memory management method

ABSTRACT

In the memory management method, when a failure is detected in the power supplied to a protective memory, a control toward the memory is cut off from a CPU and the power supply is switched to a standby power before the protective memory has some damaging effect; after solution of the power failure, the switching is finished, the control toward the memory is returned to the CPU, and the power supply is returned to an ordinal one; write completion of data is notified to the client at a time when the data sent from the client has been written into the protective memory; whether the last termination is abnormal or normal is checked at the activation; when the last termination is abnormal, the protective memory is returned after memories other than the protective memory are initialized at the activation; and when the last termination is normal, the protective memory is returned and thereafter all the memories are initialized at the activation.

BACKGROUNDS OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to memory management of a computer system, and more particularly to a computer system for efficiently managing a memory in NAS (Network Attached Storage), a file server, and the like and its memory management method.

[0003] 2. Description of the the Related Art

[0004] Hitherto, various computer systems for sending and receiving data between a client and a server through a LAN or a communication network are in wide use. In these computer systems, there is a kind of system which uses a server to register a file and the other data, like a system such as File Server, NAS (Network Attached Storage), or the like.

[0005] The NAS is a storage sub-system which contains a network interface. The NAS can be used by directly connecting a storage sub-system with a lot of hard disk drives mounted there to a network, like the RAID structure. Since the NAS can share one storage among a plurality of servers, it has such an advantage that processing can be continued in the event of a failure.

[0006]FIG. 6 is a block diagram showing the structure of the conventional NAS server. In a computer system such as the File Server, the NAS, and the like, the processing for reading out the stored data by a client 200 starts accepting a read access request of a file stored in a HDD 51 through a NIC (Network Interface Card) 60 from the client 200, hence to have access to a predetermined HDD 51 through a Fiber Channel (FC) controller 50 and the like, and ends by returning the data to the client 200.

[0007] While, in the case of a write request from a client 200, the NAS server receives data from the client 200, writes the data into the HDD 51, and notifies the client 200 that the write processing has been normally completed, thereby finishing the whole write processing.

[0008] In this processing of a write request, there has been, hitherto, used a method for improving the processing performance of the NAS by informing a client 200 of the write completion more quickly.

[0009] Specifically, at the instant that the write data received from a client 200 is once stored in a memory, the client 200 is notified of the write completion without waiting for the completion of writing into the HDD 51.

[0010] Writing into the HDD 51 that is the only mechanical element requires the longest processing time in the whole write operation. The write data once stored in a memory is collectively written into the HDD 51 when the load of the HDD 51 is comparatively low, thereby making it possible to finish the write processing in a short time at a client side. In this case, the performance of the NAS is recognized to be high. At the NAS side, since the processing of writing the write data into the HDD 51 can be collectively processed, it is possible to improve efficiency with high processing performance.

[0011] This conventional method, however, has a problem that the data to be stored in the HDD 51 may disappear before being stored there when a server is broken down due to unexpected power-down and the like.

[0012] Further, once the client 200 receives a notice of completion of the write data, there is a case where the write data having been held so far is abandoned, because it is not necessary to hold the same write data. This becomes a situation where the data to be stored is held neither in the NAS server nor in the client, which causes lost data.

[0013] As the conventional technique to cope with this problem, a method for holding the write data in an NVRAM (Nonvolatile Memory) is widely in use. For example, the NVRAM is formed on a PCI card, as illustrated in an example of FIG. 6, thereby forming an NVRAM card.

[0014]FIG. 7 is a flow chart showing a flow of the conventional NAS write data in the above case. A NAS server sequentially transfers the write data received from a client 200 and stored in a memory 31 (Step 703) to the NVRAM card on a PCI bus (Step 704). After confirming that the data is written into the NVRAM (Step 705), the NAS server returns a completion notice to the client (Step 706).

[0015] The above-mentioned conventional technique, however, has the following problems.

[0016] In these days, since the speed of a network is improved thanks to the advent of the Giga bit Ether and the like, the load of the NAS server is increased, thereby failing to keep up the processing speed. This is because of the shortage of the bandwidth in a PCI bus and a memory bus in addition to the shortage of the TCP/IP processing speed of a network.

[0017] For example, a write request from a client needs several data transfer on the PCI bus in the above-mentioned method using the NVRAM card, which causes the shortage of the bandwidth in a bus.

SUMMARY OF THE INVENTION

[0018] A first object of the present invention is to provide a computer system and its memory management method which can monitor the power supply to a main memory and switch a control of the main memory and the power supply immediately in the event of power-down, thereby nonvolatilizing the main memory itself without spoiling the processing speed of the memory, effectively preventing the loss of data caused by unexpected power-down and reset, and processing the write data from a client more quickly and more safely in the NAS server and the File Server.

[0019] A second object of the present invention is to provide a computer system and its memory management method in which it is not necessary to transfer the write data from a memory to the NVRAM card since the main memory itself is nonvolatilized, compared with the conventional structure of putting the NVRAM card on the PCI bus, thereby decreasing the load of the PCI bus and enabling a lot of data processing from a client, with high performance.

[0020] A third object of the present invention is to provide a computer system and its memory management method capable of extremely improving the write processing ability in response to a client, by notifying the client of the write completion at the instant of receiving and writing data in a memory, instead of notifying the client of the write completion when the data from a memory has been just written into the hard disk or the NVRAM card after the memory receives the transmission data from the client.

[0021] According to the first aspect of the invention, a server for establishing communication upon receipt of access from a client terminal through a network, comprises a memory protection unit for protecting data stored in a volatile memory to be protected, in the event of a power failure,

[0022] the memory protection unit comprises

[0023] power monitoring means for detecting a power failure supplied to the above protective memory, and

[0024] switch controlling means for switching a control and power supply toward the protective memory, wherein

[0025] when a failure is detected in the power supplied to the protective memory, the control toward the memory is switched to a side of the memory protection unit and the power supply is switched to a standby power before the protective memory has some damaging effect.

[0026] In the preferred construction, the switch controlling means finishes the switching, returns the control toward the memory to a CPU, and returns the power supply to an ordinal one, after solution of the power failure.

[0027] In another preferred construction, the server notifies the client of write completion of data at a time when the data sent from the client has been written into the protective memory.

[0028] In another preferred construction, the server checks whether the last termination is abnormal or normal, at the activation, instructs the memory protection unit to return the protective memory after memories other than the protective memory are initialized at the activation, when the last termination is abnormal, while

[0029] instructs the memory protection unit to return the protective memory and thereafter initializes all the memories at the activation when the last termination is normal.

[0030] In another preferred construction, the switch controlling means switches the memory to a low power mode at a time of switching the power supply toward the memory to the standby power.

[0031] In another preferred construction, the memory protection unit performs backup processing on the data stored in the memory, in response to a user's operation, after the switching.

[0032] In another preferred construction, the protective memory is SDRAM or DIMM.

[0033] In another preferred construction, the memory protection unit has a switch on an I2C bus between SPD of the protective memory that is the DIMM and a memory controller, to cut off a connection between the SPD and the memory controller, in the above switched state.

[0034] In another preferred construction, the memory protection unit controls the SPD of the protective memory through the I2C bus.

[0035] In another preferred construction, the server unit is Network Attached Storage or File Server.

[0036] According to the second aspect of the invention, a computer system for establishing mutual communication between a client terminal and a server through a network, wherein

[0037] the server has a memory protection unit for protecting data stored in a volatile memory to be protected in the event of a power failure,

[0038] the memory protection unit comprising

[0039] power monitoring means for detecting a power failure supplied to the above protective memory, and

[0040] switch controlling means for switching a control and power supply toward the protective memory, in which

[0041] when a failure is detected in the power supplied to the protective memory, the control toward the memory is switched to a side of the memory protection unit and the power supply is switched to a standby power before the protective memory has some damaging effect.

[0042] In the preferred construction, the switch controlling means finishes the switching, returns the control toward the memory to a CPU of the server, and returns the power supply to an ordinal one, after solution of the power failure.

[0043] In another preferred construction, the server notifies the client of write completion of data at a time when the data sent from the client has been written into the protective memory.

[0044] In another preferred construction, the server

[0045] checks whether the last termination is abnormal or normal, at the activation,

[0046] instructs the memory protection unit to return the protective memory after memories other than the protective memory are initialized at the activation, when the last termination is abnormal, while

[0047] instructs the memory protection unit to return the protective memory and thereafter initializes all the memories at the activation when the last termination is normal.

[0048] In another preferred construction, the switch controlling means

[0049] switches the memory to a low power mode at a time of switching the power supply toward the memory to the standby power.

[0050] In another preferred construction, the server is Network Attached Storage or File Server.

[0051] According to another aspect of the invention, a memory management method of a server for establishing communication upon receipt of access from a client terminal through a network, comprising the following steps of

[0052] detecting a power failure supplied to the above protective memory, and

[0053] switching a control and power supply toward the protective memory, in which

[0054] when a failure is detected in the power supplied to the protective memory, the control toward the memory is cut off from a CPU and the power supply is switched to a standby power before the protective memory has some damaging effect,

[0055] so as to protect the data stored in the protective volatile memory, in the event of a power failure.

[0056] In the preferred construction, the memory management method comprises

[0057] a step of finishing the switching, returning the control toward the memory to a CPU, and returning the power supply to an ordinal one, after solution of the power failure.

[0058] In another preferred construction, the memory management method comprises

[0059] a step of notifying the client of write completion of data at a time when the data sent from the client has been written into the protective memory.

[0060] In another preferred construction, the memory management method comprises

[0061] a step of checking whether the last termination is abnormal or normal, at the activation,

[0062] a step of returning the protective memory after initializing memories other than the protective memory at the activation, when the last termination is abnormal, and

[0063] a step of returning the protective memory and thereafter initializing all the memories at the activation when the last termination is normal.

[0064] In another preferred construction, the memory management method comprises

[0065] a step of switching the memory to a low power mode at a time of switching the power supply toward the memory to the standby power.

[0066] In another preferred construction, the memory management method comprises

[0067] a step of performing backup processing on the data stored in the memory, in response to a user's operation, after the switching.

[0068] In another preferred construction, the protective memory is SDRAM or DIMM.

[0069] In another preferred construction, the memory management method comprises

[0070] a step of, with a switch provided on an I2C bus between SPD of the protective memory that is the DIMM and a memory controller, cutting off a connection between the SPD and the memory controller, in the switched state.

[0071] In another preferred construction, the memory management method comprises a step of controlling the SPD of the protective memory through the I2C bus.

[0072] According to a further aspect of the invention, a memory management program of a server for establishing communication upon receipt of access from a client terminal through a network, comprising the following functions of

[0073] detecting a power failure supplied to a protective memory, and

[0074] switching a control and power supply toward the protective memory, in which

[0075] when a failure is detected in the power supplied to the protective memory, the control toward the memory is cut off from a CPU and the power supply is switched to a standby power before the protective memory has some damaging effect,

[0076] so as to protect the data stored in the protective volatile memory, in the event of a power failure.

[0077] In the preferred construction, the memory management program comprises a function of finishing the switching, returning the control toward the memory to the CPU, and returning the power supply to an ordinal one, after solution of the power failure.

[0078] In another preferred construction, the memory management program comprises a function of notifying the client of write completion of data at a time when the data sent from the client has been written into the protective memory.

[0079] In another preferred construction, the memory management program comprises a function of checking whether the last termination is abnormal or normal, at the activation, a function of returning the protective memory after initializing memories other than the protective memory at the activation, when the last termination is abnormal, and a function of returning the protective memory and thereafter initializing all the memories at the activation when the last termination is normal.

[0080] Other objects, features and advantages of the present invention will become clear from the detailed description given herebelow.

BRIEF DESCRIPTION OF THE DRAWINGS

[0081] The present invention will be understood more fully from the detailed description given herebelow and from the accompanying drawings of the preferred embodiment of the invention, which, however, should not be taken to be limitative to the invention, but are for explanation and understanding only.

[0082] In the drawings:

[0083]FIG. 1 is a block diagram showing the structure of NAS according to a first embodiment of the present invention;

[0084]FIG. 2 is a block diagram showing the structure of memory protection unit for nonvolatilizing a main memory in the first embodiment of the present invention;

[0085]FIG. 3 is a flow chart showing a flow of write data of the NAS according to the first embodiment of the present invention;

[0086]FIG. 4 is a timing chart for use in describing the operation at abnormal power-down of the NAS according to the first embodiment of the present invention;

[0087]FIG. 5 is a flow chart for use in describing the BIOS processing at power-on of the NAS according to the first embodiment of the present invention;

[0088]FIG. 6 is a block diagram showing the structure of the conventional NAS;

[0089]FIG. 7 is a flow chart showing a flow of the write data of the conventional NAS.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0090] The preferred embodiment of the present invention will be discussed hereinafter in detail with reference to the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to those skilled in the art that the present invention may be practiced without these specific details. In other instance, well-known structures are not shown in detail in order to unnecessary obscure the present invention.

[0091] In the present invention, an easy control circuit (memory protection unit 10) for protecting data stored in a main memory and nonvolatilizing it is added to a general computer system having a CPU, a memory, an input/output unit, and the like, thereby nonvolatilizing one part of the main memory to prevent the data loss at unexpected power-down, and it is used for NAS (Network Attached Storage) and the File Server, thereby speeding up response to a client.

[0092] In the NAS and the File Server (hereinafter, the both are collectively referred to as NAS, refer to FIG. 6 as for the basic structure) having a hard disk interface such as SCSI and a fiber channel (FC) and NIC (Network Interface Card) in a computer system, in order to improve the performance, data is once kept in NVRAM (Nonvolatile Memory) before writing the data into HDD (Hard Disk Drive) when a client issues a write request, and at this point, the client is notified that the write request has been normally completed, and thereafter, the data is written into the HDD from the NVRAM.

[0093] In the present invention, instead of the conventional NVRAM under the PCI bus, an easy control circuit (memory protection unit 10) is added to a memory interface of general chip set, thereby nonvolatilizing the main memory and realizing the processing of high-performance NAS.

[0094]FIG. 1 is a block diagram showing the structure of a NAS server 100 according to the first embodiment of the present invention, and FIG. 2 is a block diagram showing the structure of a memory protection unit 10 according to the embodiment for nonvolatilizing a main memory.

[0095] Although SDRAM (indicating general SDRAM, and DDR SDRAM) is adopted as a memory in this embodiment, the type of a memory is not especially restricted to the SDRAM, but a method of the present invention can be adopted even in the case of the other memories. A bank signal and a command signal of the memory interface and a bank signal and a command signal from the memory protection unit (main memory nonvolatilizing control circuit, MNC) 10 are connected to SDRAM DIMMs 31 for backup (to be protected) through two-to-one switches.

[0096] The memory protection unit 10 can directly control the DIMMs 31 by controlling a select signal of each switch 11 and 12. A signal of I2C bus which is connected to SPD of the DIMMs 31 so as to control a power confirmation signal and a reset signal for detecting unexpected abnormal power-down and reset and control a select signal of the switch from the outward, is also connected to the memory protection unit 10.

[0097] The power of the memory protection unit 10 and the DIMMs 31 that are backup objects is connected to the battery of a backup power, hence to assure the data backup in the DIMMs 31 at unexpected power-down.

[0098] Namely, when detecting the unexpected abnormal power-down and reset, the memory protection unit 10 immediately switches the switches 11 and 12, hence to move a control right of the DIMMs 31 from chip set to the memory protection unit 10, and a determined sequence command is issued to the DIMMs 31 to set the DIMMs 31 in low power mode. Since there is a deviation of some milliseconds between a notice of the power-down from the power modules and the actual power-down provided to the motherboard, there is enough time for the transition toward the low power mode. Since the power consumption of the memory protection unit 10 where the clock supply is stopped after the power-down and the power consumption of the DIMMs 31 coming into the low power mode is very little, backup for a long time is possible.

[0099] When detecting return of the power or release of reset respectively from the power confirmation signal or the reset signal, the memory protection unit 10 switches the switch connected to the memory interface, so to return a control right of the DIMM from the memory protection unit 10 to the chip set.

[0100] The BIOS confirms the condition of the last system termination at activation of NAS, and reads a flag within NVRAM for discriminating whether it is the ordinal shut-down or reset, or unexpected abnormal power-down or reset. In the ordinal case, it continues initialization of the DIMM, while in the abnormal case, it performs no initialization.

[0101] In the embodiment of connecting the I2C bus for SPD to the memory protection unit 10, a switch connected to the memory interface of the DIMMs 31 that are the backup objects is switched to a side of the memory protection unit 10 also after the power return, and a control right of the backup-objective DIMMs 31 is not passed to the chip set until the BIOS and the OS gain access to the memory protection unit 10 through the I2C. Namely, there is also a method of making the backup-objective DIMMs 31 invisible to the chip set, enabling a control separate from the volatile main memory.

[0102] As mentioned above, by adding simple hardware (or, by the software control thereof), a notice of the write completion can be issued to the client side at a time of writing the write data into the main memory nonvolatilized, and the conventional data transfer from the main memory to the PCI NVRAM card is not necessary, thereby improving the performance of NAS.

[0103] Since the write data transfer to the NVRAM on the PCI bus becomes unnecessary, the data transfer bandwidth on the whole NAS system is effectively used, thereby improving the throughput.

[0104] A function of each unit of a computer system according to the embodiment will be described in detail. Though a description will be made by using the DIMM of the SDRAM as a main memory (to be protected) for backup in this embodiment, the type of a memory is not restricted to this.

[0105] The NAS server 100 comprises a CPU 20, a memory controller 30 which a plurality of DIMMs 31 that are main memories are connected to, for controlling the DIMMs, and an input and output controller 40 which a NIC (Network Interface Card) 60 and a fiber channel controller 50 with HDD (Hard Disk Drive) 51 connected there to be controlled are connected to, for controlling the whole input and output, and it is connected to a plurality of clients 200 through LAN.

[0106] The memory controller 30 and the input and output controller 40 are general chip sets, and they are not provided with a function of nonvolatilizing the main memory of the embodiment.

[0107] The memory protection unit (main memory nonvolatilizing control circuit, MNC) 10 is connected to the DIMMs 31 to be nonvolatilized for backup. The memory protection unit 10 is provided with a very simple internal logic, and it can be formed by a programmable logic circuit, for example, FPGA and the like at a low cost.

[0108] With reference to the detailed view around the DIMMs 31 and the memory protection unit 10 in FIG. 2, an address line and a data line connected to the memory controller 30 and a command line through the switch are connected to the plurality of DIMMs 31.

[0109] A power confirmation signal for detecting the power-down and the power-on, a reset signal for detecting reset, a command line for controlling the backup-objective DIMMs 31 instead of the memory controller, a selector of the switch 11, a selector of the switch 12, and the I2C bus for controlling switching of the switches according to the software, are connected to the memory protection unit 10. The I2C bus is originally to read the SPD on the DIMMs 31 and it is an indispensable bus if it is a chip set supporting the SDRAM.

[0110] The processing operations of the whole computer system of the embodiment will be described this time.

[0111] The NAS server 100 is a server to provide a file system through a network, which enables the client 200 to gain access to the HDD 51 through the LAN.

[0112] When the client 200 reads a file within the HDD 51, a read request from the client 200 is notified to the CPU 20 through the LAN and the NIC. The CPU 20 reads out the content of the file to be read from the HDD 51 through the input and output controller 40 and the fiber channel controller 50, and returns the read data to the client 200 through the NIC 60. As mentioned above, the same operation as conventional one will be performed in the case of reading data from NAS.

[0113]FIG. 3 is a flow chart showing the flow of the write data of NAS according to the embodiment of the present invention.

[0114] With reference to FIG. 3, when the client 200 writes a file into the HDD 51, the write data is once stored in the backup-objective DIMMs 31 through the NIC 60 (Steps 302 and 303).

[0115] Since the backup is assured in the DIMMs 31, the CPU 20 immediately issues a notice of the write completion to the client 200 through the NIC 60 (Step 305) when the registration into the DIMMs 31 is completed (Step 304).

[0116] Thereafter, the write data stored within the DIMMs 31 is written into a predetermined position of the HDD 51 at a proper chance, thereby finishing a series of write processing.

[0117] By comparison between the conventional data flow shown in FIG. 7 and the data flow of the embodiment shown in FIG. 3, it is found that the processing is more shortened than the conventional one because the data stored in the main memory can be assured in the embodiment, a notice of the write completion can be issued to the client 200 more quickly, and that the write processing from a view of the client 200 side is improved. Further, the data passing amount on the PIC bus is reduced in the embodiment, which results in decreasing the load of the PCI bus.

[0118] Although it is not illustrated in the flow charts of FIG. 3 and FIG. 7, there actually occurs the data transfer for writing the write data into the HDD 51 from the memory (DIMM 31 or NVRAM 70). Therefore, it is very important on the performance to decrease the load of the PCI bus.

[0119] The backup method of the hardware will be described in the case of unexpected abnormal power-down and reset.

[0120] Here, SDRAM is assumed as the DIMMs 31. At the normal operation, the command line from the memory controller is connected to the backup-objective DIMMs 31 through the switch 11. Similarly, the I2C bus for reading SPD on the DIMMs 31 is connected to the DIMMs 31 through the switch 12.

[0121] When detecting the abnormal power-down according to the power confirmation signal, or when detecting the abnormal reset according to the reset signal, the memory protection unit 10 controls the command line, so to immediately connect the command line to the backup-objective DIMMs 31 according to the switch selector signal, hence to disable a control from the memory controller 30. Similarly, the I2C bus is cut off according to the switch selector signal, hence to prevent the memory controller 30 from recognizing the existence of the I2C bus.

[0122] The memory protection unit 10 waits for “20T”, that is a time when the DIMMs 31 are assumed to be idle, and sets the backup-objective DIMMs 31 at the low power mode through the command signal. Here, “T” indicates the number of clock turns.

[0123]FIG. 4 is a timing chart for use in describing the operation at the abnormal power-down of NAS according to the embodiment, as follows.

[0124] (1) As soon as the memory protection unit 10 detects negate of the power confirmation signal PowerGood, it switches the select of each switch 11 and 12, so to move a control right of the DIMMs to the memory protection unit 10.

[0125] (2) Considering that the DIMMS are under some operation according to the memory controller, wait of about 20T is interlaid.

[0126] (3) Pre-charge is issued to all the banks of the DIMMs.

[0127] (4) Auto refresh is issued to all the words of the DIMMS. For example, if it is the DIMM constituting of 512 Mbit, it is necessary to issue the auto-refresh 8192 times.

[0128] (5) Self-refresh is issued and CKE is deasserted.

[0129] According to the above procedure, the DIMMs 31 turn into the low power mode and the power supply is switched to from a battery. Thereafter, even if the power-down or the clock stop occurs, the data within the DIMMs 31 is assured as long as the battery can supply the power.

[0130] Since FIG. 4 is a view only for use in describing the case of adopting SDRAM as a main memory, in the case of adopting a memory other than this, the operation conforms to the low power mode of the adopted memory.

[0131] The processing at the NAS server activation will be described this time. FIG. 5 is a flow chart for use in describing the BIOS processing at power-on of NAS according to the embodiment.

[0132] The memory protection unit 10 continuously keeps a state of cutting off the memory controller 30 from the backup-objective DIMMs 31, also after the power activation. The DIMMs 31 are not returned from the low power mode simultaneously with the power activation. This is because the memory controller 30 is not initialized yet and a refresh instruction is not issued to the DIMMs 31, with a fear of losing the data within the DIMMs 31.

[0133] The BIOS after the power activation examines whether the last termination is normal or abnormal (Steps 501 and 502): when this activation is after the normal termination, it issues a switching instruction to the memory protection unit 10 through the I2C bus for SPD (Step 503).

[0134] The memory protection unit 10, upon receipt of the instruction, asserts CKE within the command signal, returns the DIMMs from the low power mode, makes a connection between the command signal and the memory controller and a connection with the I2C bus for SPD while controlling the switches 11 and 12, and passes a control right of the DIMM to the memory controller (Step 504). Thereafter, an ordinal memory initialization sequence and memory test will be performed (Step 505).

[0135] While, when this activation is after the abnormal termination, after initialization of the memory that is not the backup object (Step 506) and completion of the memory test (Step 507), the BIOS issues a switching instruction to the memory protection unit 10 through the I2C bus for SPD and returns the backup-objective DIMMs (Step 508).

[0136] A computer system according to the embodiment can be realized, needless to say, by the hardware, and by loading into a memory of the computer processor, a computer program having each function; the processing of nonvolatilizing a main memory by the memory protection unit 10, the processing of quicker response of registration completion of the write data to a client than the conventional technique, the processing of memory initialization at a system activation according to the state of the last termination, and the like. The computer program is stored in a storing medium 90 such as a magnetic disk, a semiconductor memory, and the like. It is loaded from the storing medium into the computer processor, to control the operation of the computer processor, thereby realizing the above mentioned respective functions.

[0137] Although the present invention has been described with a preferred embodiment, it is not restricted to the above embodiment and various modifications can be considered and performed within the technical sprit.

[0138] As set forth hereinabove, the computer system according to the present invention can achieve the following effects.

[0139] First, since it can monitor the power supply to a main memory and switch a control of the main memory and the power supply immediately in the event of power-down, it is possible to nonvolatilize the main memory itself without spoiling the processing speed of the memory, thereby effectively preventing from loss of data caused by unexpected power-down and reset. Therefore, in the NAS server and the File Server, write data from a client can be processed more quickly and more safely.

[0140] Second, since the computer system of the present invention nonvolatilizes the main memory itself, it is not necessary to transfer the write data from a memory to the NVRAM card, thereby decreasing the load of the PCI bus and enabling a lot of data processing from a client, with high performance, compared with the conventional structure of putting the NVRAM card on the PCI bus.

[0141] Third, though the conventional server notifies a client of the write completion when writing data from a memory into the hard disk or the NVRAM card is completed after receiving transmission data from the client in the memory, according to the present invention, the write completion can be notified to a client at the instant of receiving and writing data in a memory. Therefore, the write processing ability in response to a client is extremely improved.

[0142] Although the invention has been illustrated and described with respect to exemplary embodiment thereof, it should be understood by those skilled in the art that the foregoing and various other changes, omissions and additions may be made therein and thereto, without departing from the spirit and scope of the present invention. Therefore, the present invention should not be understood as limited to the specific embodiment set out above but to include all possible embodiments which can be embodies within a scope encompassed and equivalents thereof with respect to the feature set out in the appended claims. 

What is claimed is:
 1. A server for establishing communication upon receipt of access from a client terminal through a network, comprising a memory protection unit for protecting data stored in a volatile memory to be protected, in the event of a power failure, said memory protection unit comprises power monitoring means for detecting a power failure supplied to said above protective memory, and switch controlling means for switching a control and power supply toward said protective memory, wherein when a failure is detected in the power supplied to said protective memory, the control toward said memory is switched to a side of said memory protection unit and said power supply is switched to a standby power before said protective memory has some damaging effect.
 2. The server as set forth in claim 1, wherein said switch controlling means finishes the switching, returns the control toward said memory to a CPU, and returns said power supply to an ordinal one, after solution of the power failure.
 3. The server as set forth in claim 1, which notifies the client of write completion of data at a time when the data sent from said client has been written into said protective memory.
 4. The server as set forth in claim 1, which checks whether said last termination is abnormal or normal, at the activation, instructs said memory protection unit to return said protective memory after memories other than said protective memory are initialized at the activation, when said last termination is abnormal, while instructs said memory protection unit to return said protective memory and thereafter initializes all the memories at the activation when said last termination is normal.
 5. The server as set forth in claim 1, wherein said switch controlling means switches said memory to a low power mode at a time of switching said power supply toward said memory to the standby power.
 6. The server as set forth in claim 1, wherein said memory protection unit performs backup processing on the data stored in said memory, in response to a user's operation, after the switching.
 7. The server as set forth in claim 1, wherein said protective memory is SDRAM or DIMM.
 8. The server as set forth in claim 1, wherein said memory protection unit has a switch on an I2C bus between SPD of said protective memory that is the DIMM and a memory controller, to cut off a connection between the SPD and the memory controller, in the above switched state.
 9. The server as set forth in claim 8, wherein said memory protection unit controls said SPD of said protective memory through said I2C bus.
 10. The server as set forth in claim 1, wherein said server unit is Network Attached Storage or File Server.
 11. A computer system for establishing mutual communication between a client terminal and a server through a network, wherein said server has a memory protection unit for protecting data stored in a volatile memory to be protected in the event of a power failure, said memory protection unit comprising power monitoring means for detecting a power failure supplied to said above protective memory, and switch controlling means for switching a control and power supply toward said protective memory, in which when a failure is detected in the power supplied to said protective memory, the control toward said memory is switched to a side of said memory protection unit and said power supply is switched to a standby power before said protective memory has some damaging effect.
 12. The computer system as set forth in claim 11, wherein said switch controlling means finishes the switching, returns the control toward said memory to a CPU of said server, and returns said power supply to an ordinal one, after solution of the power failure.
 13. The computer system as set forth in claim 11, wherein said server notifies said client of write completion of data at a time when the data sent from said client has been written into said protective memory.
 14. The computer system as set forth in claim 11, wherein said server checks whether said last termination is abnormal or normal, at the activation, instructs said memory protection unit to return said protective memory after memories other than said protective memory are initialized at the activation, when said last termination is abnormal, while instructs said memory protection unit to return said protective memory and thereafter initializes all the memories at the activation when said last termination is normal.
 15. The computer system as set forth in claim 11, wherein said switch controlling means switches said memory to a low power mode at a time of switching said power supply toward said memory to the standby power.
 16. The computer system as set forth in claim 11, wherein said server is Network Attached Storage or File Server.
 17. A memory management method of a server for establishing communication upon receipt of access from a client terminal through a network, comprising the following steps of: detecting a power failure supplied to said above protective memory, and switching a control and power supply toward said protective memory, in which when a failure is detected in the power supplied to said protective memory, the control toward said memory is cut off from a CPU and said power supply is switched to a standby power before said protective memory has some damaging effect, so as to protect the data stored in said protective volatile memory, in the event of a power failure.
 18. The memory management method as set forth in claim 17, further comprising a step of finishing the switching, returning the control toward said memory to a CPU, and returning said power supply to an ordinal one, after solution of the power failure.
 19. The memory management method as set forth in claim 17, further comprising a step of notifying said client of write completion of data at a time when the data sent from said client has been written into said protective memory.
 20. The memory management method as set forth in claim 17, further comprising: a step of checking whether said last termination is abnormal or normal, at the activation; a step of returning said protective memory after initializing memories other than said protective memory at the activation, when said last termination is abnormal; and a step of returning said protective memory and thereafter initializing all the memories at the activation when said last termination is normal.
 21. The memory management method as set forth in claim 17, further comprising a step of switching said memory to a low power mode at a time of switching said power supply toward said memory to the standby power.
 22. The memory management method as set forth in claim 17, further comprising a step of performing backup processing on the data stored in said memory, in response to a user's operation, after the switching.
 23. The memory management method as set forth in claim 17, wherein said protective memory is SDRAM or DIMM.
 24. The memory management method as set forth in claim 17, further comprising a step of, with a switch provided on an I2C bus between SPD of said protective memory that is the DIMM and a memory controller, cutting off a connection between the SPD and the memory controller, in the switched state.
 25. The memory management method as set forth in claim 24, further comprising a step of controlling said SPD of said protective memory through said I2C bus.
 26. A memory management program of a server for establishing communication upon receipt of access from a client terminal through a network, comprising the following functions of: detecting a power failure supplied to a protective memory, and switching a control and power supply toward said protective memory, in which when a failure is detected in the power supplied to said protective memory, the control toward said memory is cut off from a CPU and said power supply is switched to a standby power before said protective memory has some damaging effect, so as to protect the data stored in said protective volatile memory, in the event of a power failure.
 27. The memory management program as set forth in claim 26, further comprising a function of finishing the switching, returning the control toward said memory to said CPU, and returning said power supply to an ordinal one, after solution of the power failure.
 28. The memory management program as set forth in claim 26, further comprising a function of notifying said client of write completion of data at a time when the data sent from said client has been written into said protective memory.
 29. The memory management program as set forth in claim 26, further comprising: a function of checking whether said last termination is abnormal or normal, at the activation; a function of returning said protective memory after initializing memories other than said protective memory at the activation, when said last termination is abnormal; and a function of returning said protective memory and thereafter initializing all the memories at the activation when said last termination is normal. 